FIG. 1 gives a schematic system view of a Portal server implementing a Web Portal, for example, such as, for example, an IBM WebSphere Portal or Jetspeed2 Enterprise Portal (www.Portals.apache.org/jetspeed-2/Portal-design.html). Such a Web Portal may include complex functionality implemented on a network server-for example on a Web server 100, significant elements of which are logic components for user authentication 105, state handling 110, aggregation 170 of fragments, a plurality of Portlets 120 (further described below) provided in respective pages 125 with a respective plurality of APIs 130 to a respective Portlet container software 135 for setting them into the common Web page context, and some Portal storage resources 140. The logic components of FIG. 1 are operatively connected such that data can be exchanged between single components as required. This is roughly depicted in FIG. 1.
In more detail, a Portal engine of the Web server in FIG. 1 implements an aggregation of Portlets 120 based on the underlying Portal model 150 and Portal information such as security settings, user roles, customization settings, and device capabilities. Within the rendered page, the Portal automatically generates the appropriate set of navigation elements based on the Portal model. The Portal engine invokes Portlets during the aggregation as required and when required and uses caching to reduce the number of requests made to Portlets. For example, the IBM WebSphere Portal employs open standards such as the Java Portlet API (application programming interface). It also supports the use of a remote Portlet via the WSRP (Web Services for Remote Portlets) standard.
The Portlet container 135 is a single control component competent for all Portlets 120, which may control the execution of code residing in each of these Portlets. It provides the runtime environment for the Portlets and facilities for event handling, inter-Portlet messaging, and access to Portlet instance and configuration data, among others. The Portal resources 140 are in particular the Portlets 120 themselves and the pages 125, on which they are aggregated in form of an aggregation of fragments. A Portal database 128 stores the portlet description, featuring some attributes like portlet name, portlet description, portlet title, portlet short title, and keywords; the portlet interaction interface description, which is often stored in form of WSDL (Web Service Description Language) documents. The Portal database also stores the Portal content structure, i.e. the hierarchical structure of portal pages, which may again contain nested pages, and portlets. This data is stored in the database 128 in an adequate representation based on conventional techniques like relational tables.
The before-mentioned aggregation logic 170 includes all steps that are required to assemble a page. Typically, these steps are to load a content structure from storage, to traverse it and to call the instances referenced in the structure in order to obtain their output, which is assembled to a single page.
The content structure may be defined through, for example, Portlet Customization by the administrator.
When Web applications are visited by a Web user, a user is usually displayed a navigation menu that provides some means to access underlying content. A navigation menu is usually structured in a tree-like topology, and users are forced to traverse the tree in order to reach a node matching the content the user is interested in. Specifically, Web portals are equipped with such navigation menus which must be used to navigate through all of the contents the Web portal provides.
As a matter of fact, not every user is interested in the same content, and hence the structure which is given on a given portal may satisfy the needs of a certain user group, but for many individual users the given topology does not satisfy their needs. Prior art systems allow blend-out of certain nodes of the topology, i.e. blend-out a page or parts of a page, basically some portlets. This, however is a very inflexible way to traverse the navigation tree.
It is accordingly an objective of the present invention to provide a method and system offering improved Web portal navigation.